Exception Handling এবং Logging ফিল্টার

Microsoft Technologies - এএসপি ডট নেট এমভিসি (ASP.Net MVC) ফিল্টার এবং অ্যাট্রিবিউট (Filters and Attributes) |
214
214

ASP.Net MVC অ্যাপ্লিকেশনগুলোতে Exception Handling এবং Logging অত্যন্ত গুরুত্বপূর্ণ ভূমিকা পালন করে। Exception Handling এর মাধ্যমে অ্যাপ্লিকেশন চলাকালে ঘটে যাওয়া ভুল বা ত্রুটিগুলি ধরতে ও সমাধান করতে সাহায্য করে, এবং Logging এর মাধ্যমে ত্রুটিগুলির বিস্তারিত তথ্য রেকর্ড করা হয়, যা ভবিষ্যতে ডিবাগging এবং সমস্যার সমাধানে সাহায্য করে।

ASP.Net MVC-তে Exception Handling এবং Logging পরিচালনার জন্য ফিল্টার ব্যবহার করা হয়। এই ফিল্টারগুলি অ্যাপ্লিকেশনের বিভিন্ন স্তরে ত্রুটি ধরতে এবং লগ করতে সক্ষম, যেমন কন্ট্রোলার অ্যাকশন মেথড, গ্লোবাল অ্যাপ্লিকেশন স্তরে অথবা নির্দিষ্ট ফিল্টার ব্যবহার করে।


Exception Handling ফিল্টার

ASP.Net MVC তে, Exception Handling ফিল্টার ব্যবহার করে অ্যাপ্লিকেশনের ত্রুটিগুলি কেন্দ্রীভূতভাবে পরিচালনা করা যায়। সাধারণত, HandleError অ্যাট্রিবিউট ব্যবহার করে অ্যাকশন বা কন্ট্রোলারে ঘটে যাওয়া ত্রুটি সমাধান করা হয়।

1. HandleError অ্যাট্রিবিউট
HandleError অ্যাট্রিবিউটের মাধ্যমে আপনি একটি কন্ট্রোলার বা অ্যাকশন মেথডের মধ্যে যেকোনো অপ্রত্যাশিত ত্রুটি (exception) ধরতে পারেন এবং ব্যবহারকারীকে একটি কাস্টম ত্রুটি পৃষ্ঠা দেখাতে পারেন।

উদাহরণ:

[HandleError]
public ActionResult Index()
{
    throw new Exception("Something went wrong!");
    return View();
}

এখানে, HandleError অ্যাট্রিবিউটটি Index অ্যাকশন মেথডে ঘটে যাওয়া যে কোনো ত্রুটিকে ধরবে এবং একটি কাস্টম ত্রুটি পৃষ্ঠায় রিডিরেক্ট করবে।

2. কাস্টম ত্রুটি পৃষ্ঠা
web.config ফাইলে কাস্টম ত্রুটি পৃষ্ঠা কনফিগার করা যায়, যা অ্যাপ্লিকেশনের সব ধরনের ত্রুটির জন্য ব্যবহার করা হবে।

উদাহরণ:

<system.web>
    <customErrors mode="On" defaultRedirect="Error.html">
        <error statusCode="404" redirect="NotFound.html" />
    </customErrors>
</system.web>

এখানে, যদি কোনো ত্রুটি ঘটে, তবে ব্যবহারকারীকে Error.html পৃষ্ঠায় রিডিরেক্ট করা হবে। বিশেষ ক্ষেত্রে, যেমন 404 (Page Not Found), NotFound.html পৃষ্ঠায় রিডিরেক্ট হবে।

3. Global Exception Handling
গ্লোবাল লেভেলে ত্রুটি হ্যান্ডলিং করতে Application_Error মেথডটি ব্যবহার করা যেতে পারে, যা Global.asax ফাইলে থাকে।

উদাহরণ:

protected void Application_Error()
{
    Exception exception = Server.GetLastError();
    // লগিং অথবা কাস্টম ত্রুটি পৃষ্ঠা রিডিরেক্ট করতে এখানে কোড লিখুন।
}

Logging ফিল্টার

Logging হল অ্যাপ্লিকেশনের কার্যকলাপের ইতিহাস রেকর্ড করার একটি পদ্ধতি। এটি ডিবাগging এবং সমস্যা সমাধানে সহায়ক। ASP.Net MVC-তে বিভিন্ন ধরনের লগিং ফ্রেমওয়ার্ক ব্যবহার করা যেতে পারে, যেমন NLog, Log4Net, Serilog ইত্যাদি।

1. NLog ব্যবহার করে লগিং
NLog একটি জনপ্রিয় লগিং ফ্রেমওয়ার্ক, যা অ্যাপ্লিকেশন স্তরে লগ ইনফরমেশন ধারণ করে এবং ত্রুটিগুলির বিস্তারিত তথ্য রেকর্ড করে। NLog কনফিগার করতে NLog.config ফাইল ব্যবহার করা হয়।

উদাহরণ:

public class HomeController : Controller
{
    private static readonly Logger Logger = LogManager.GetCurrentClassLogger();

    public ActionResult Index()
    {
        Logger.Info("Index action called.");
        try
        {
            // কিছু কোড যা ত্রুটি ঘটাতে পারে
        }
        catch (Exception ex)
        {
            Logger.Error(ex, "Error occurred in Index action.");
        }

        return View();
    }
}

এখানে, Logger.Info এবং Logger.Error ব্যবহার করে লগের বিভিন্ন স্তরে ইনফরমেশন এবং ত্রুটি রেকর্ড করা হয়েছে।

2. Log4Net ব্যবহার করে লগিং
Log4Net একটি জনপ্রিয় লগিং ফ্রেমওয়ার্ক, যা আপনাকে লগ ইনফরমেশন বিভিন্ন লেভেলে (Info, Warn, Error) ধারণ করতে সহায়ক।

উদাহরণ:

private static readonly ILog log = LogManager.GetLogger(typeof(HomeController));

public ActionResult Index()
{
    log.Info("Index action called.");
    try
    {
        // কিছু কোড যা ত্রুটি ঘটাতে পারে
    }
    catch (Exception ex)
    {
        log.Error("Error occurred in Index action.", ex);
    }

    return View();
}

এখানে, log.Info এবং log.Error ব্যবহার করে লগ ইনফরমেশন রেকর্ড করা হয়েছে।


Exception Handling এবং Logging ফিল্টার একসাথে ব্যবহার

Exception Handling এবং Logging একসাথে ব্যবহার করে আপনি অ্যাপ্লিকেশন চলাকালীন ঘটে যাওয়া ত্রুটিগুলির বিস্তারিত লগ রাখতে পারবেন এবং সেই ত্রুটিগুলিকে সঠিকভাবে পরিচালনা করতে পারবেন।

উদাহরণ:

[HandleError]
public ActionResult Index()
{
    try
    {
        // কিছু কোড যা ত্রুটি ঘটাতে পারে
    }
    catch (Exception ex)
    {
        Logger.Error(ex, "Error occurred in Index action.");
        return View("Error");
    }
}

এখানে, ত্রুটি ঘটে গেলে প্রথমে লগ ইনফরমেশন রেকর্ড হবে এবং তারপর ব্যবহারকারীকে কাস্টম ত্রুটি পৃষ্ঠায় রিডিরেক্ট করা হবে।


উপসংহার

ASP.Net MVC অ্যাপ্লিকেশনে Exception Handling এবং Logging ফিল্টার ব্যবহার করা খুবই গুরুত্বপূর্ণ, কারণ এটি অ্যাপ্লিকেশনের ত্রুটিগুলি সহজে ধরতে এবং সেগুলির বিস্তারিত রেকর্ড রাখতে সহায়ক। এতে অ্যাপ্লিকেশনটি আরো স্থিতিশীল এবং রক্ষণাবেক্ষণযোগ্য হয়, এবং ডেভেলপাররা সহজে সমস্যাগুলি চিহ্নিত ও সমাধান করতে পারেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion